/* 将延时函数独立出来，分别编译多个文件，并链接到一起 */

    .text
    .global _start
    .global delay_ms
    //.code 16
    .thumb//等价于.code 16
    .syntax unified//统一汇编语言语法
    .arch armv7-m

delay_ms:
    push {r12, lr}
    mov r12, #0
    /* 内部时钟（默认时钟）为8MHz，300ms为2.4*10^5=3*8*10^5，
    循环内3条指令，指令流水应该不会被打断，所以每条指令1周期可以执行完 */
    //ldr r11, =800000
loop_nop:
    add r12, #1
    cmp r12, r11
    bne loop_nop
    pop {r12, pc}

    .end
